- 全称REmote DIctionary Server(Redis)。
- 开源,ANSI C语言编写、遵守BSD协议。
- 高性能的key-value存储系统。
- C/S模式。客户端和服务端可以部署在两台机器上。
- 支持网络,通过redis自定义的协议进行传输和交互。常说的redis通常是服务端。只有在具体的错误定位时才说redis的客户端出了xxx问题。
- 可基于内存:所有的数据和结构都在内存中。查询极快,同时很耗内存。
- 也可以持久化,将内存中的数据保存在磁盘中,重启的时候再次加载使用。
- 日志型
- 不需要预先定义数据字典。
- 提供多种数据结构的存储。
- 支持master-slave模式的数据备份。
- 所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
应用场景
- 作为缓存,提升系统性能。把最常用的数据放到redis中,就不需要频繁请求硬盘或网络。
- 队列。redis有个list结构,有push和pop方法,可以保证操作的原子性。
- 数据存储。直接当中常用数据库使用,因为它有非常完备的2种硬盘持久化机制,定期持久化,保持数据的完整性。